/*
 * GeneradorBitset.cpp
 *
 *  Created on: Nov 8, 2010
 *      Author: lucianoml83
 */

#include "GeneradorBitset.h"

GeneradorBitset::GeneradorBitset() {
}

bitset<MAX_BITS>* GeneradorBitset::comprimir(string valorCodigoDelta) {
  int tamanioDelta = valorCodigoDelta.size();
  bitset<MAX_BITS>* comp = new bitset<MAX_BITS>(valorCodigoDelta);
  comp->set(tamanioDelta);
  return comp;
}

string GeneradorBitset::expandir(bitset<MAX_BITS>* deltaAlmacenado) {
  string decomp = "";
  int control = 0;
  for (int i = 19; i > 0; i--) {
    if (deltaAlmacenado->test(i) == true) {
      control = i;
      break;
    }
  }
  for (int j = control - 1; j >= 0; j--) {
    if (deltaAlmacenado->test(j) == true) {
      decomp += "1";
    } else {
      decomp += "0";
    }
  }
  return decomp;
}

GeneradorBitset::~GeneradorBitset() {
}
